﻿namespace KinonekoSoftware.JuXiaoYouDB.Core
{
    /// <summary>
    /// <see cref="IObjectBuilder{TSource,TTarget}"/> 接口表示一个通用对象构造器，用于约定 <see cref="TSource"/> 类型对象构造出 <see cref="TTarget"/> 类型。
    /// </summary>
    /// <typeparam name="TSource">原始类型</typeparam>
    /// <typeparam name="TTarget">目标类型。</typeparam>
    public interface IObjectBuilder<TSource, TTarget>
    {
        /// <summary>
        /// 构造指定对象。
        /// </summary>
        /// <param name="source">原始类型的对象。</param>
        /// <returns>返回目标类型的对象。</returns>
        TTarget Build(TSource source);
    }
}